package com.briup.test;

/**
 * @author 甜圆
 * @version v1.0.1
 * @date 2025/10/7 18:37
 * @package com.briup.test
 * @copyright 甜圆
 */
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class SimpleCallableExample {
    public static void main(String[] args) throws Exception {
        // 创建一个单线程的线程池
        ExecutorService executor = Executors.newSingleThreadExecutor();

        // 创建Callable任务：计算1到10的和
        Callable<Integer> sumTask = () -> {
            int sum = 0;
            for (int i = 1; i <= 10; i++) {
                sum += i;
                // 模拟耗时操作
                Thread.sleep(100);
            }
            return sum; // 返回计算结果
        };
        // 提交任务并获取Future对象（用于获取结果）
        Future<Integer> future = executor.submit(sumTask);
        System.out.println("任务执行中...");
        // 获取任务结果（get()方法会阻塞，直到任务完成）
        int result = future.get();
        System.out.println("1到10的和是：" + result);
        // 关闭线程池
        executor.shutdown();
    }
}
